public class NumSubarrayProductLessThanK {
    public int numSubarrayProductLessThanK(int[] nums, int k) {
        int sum=1;
        int count=0;
        for (int i = 0,j=0; i < nums.length; i++) {
            sum=sum*nums[i];
            while (sum>=k){
                sum=sum/nums[j++];
            }
            count+=i-j+1;//根据观察可发现每添加一个数相当于会添加i-j+1,从最后一个数到左边界计算。
        }
        return count;
    }
}
